home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 2
/
Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso
/
Aminet
/
util
/
gnu
/
amiga_grep_1_6.LHA
/
grep-1.6
/
grep.doc
< prev
next >
Wrap
Text File
|
1992-08-28
|
8KB
|
265 lines
GREP(1) USER COMMANDS GREP(1)
NAME
grep, egrep - print lines matching a regular expression
SYNOPSIS
grep [ -CVbchilnsvwx ] [ -_n_u_m ] [ -AB _n_u_m ] [ [ -e ] _e_x_p_r |
-f _f_i_l_e ] [ _f_i_l_e_s ... ]
DESCRIPTION
_G_r_e_p searches the files listed in the arguments (or standard
input if no files are given) for all lines that contain a
match for the given _e_x_p_r. If any lines match, they are
printed.
Also, if any matches were found, _g_r_e_p exits with a status of
0, but if no matches were found it exits with a status of 1.
This is useful for building shell scripts that use _g_r_e_p as a
condition for, for example, the _i_f statement.
When invoked as _e_g_r_e_p the syntax of the _e_x_p_r is slightly
different; See below.
REGULAR EXPRESSIONS
(grep) (egrep) (explanation)
_c _c a single (non-meta) character
matches itself.
. . matches any single character except
newline.
\? ? postfix operator; preceeding item
is optional.
* * postfix operator; preceeding item 0
or more times.
\+ + postfix operator; preceeding item 1
or more times.
\| | infix operator; matches either
argument.
^ ^ matches the empty string at the
beginning of a line.
$ $ matches the empty string at the end
of a line.
\< \< matches the empty string at the
beginning of a word.
\> \> matches the empty string at the end
GNU Project Last change: 1988 December 13 1
GREP(1) USER COMMANDS GREP(1)
of a word.
[_c_h_a_r_s] [_c_h_a_r_s] match any character in the given
class; if the first character after
[ is ^, match any character not in
the given class; a range of charac-
ters may be specified by
_f_i_r_s_t-_l_a_s_t; for example, \W (below)
is equivalent to the class
[^A-Za-z0-9]
\( \) ( ) parentheses are used to override
operator precedence.
\_d_i_g_i_t \_d_i_g_i_t \_n matches a repeat of the text
matched earlier in the regexp by
the subexpression inside the nth
opening parenthesis.
\ \ any special character may be pre-
ceded by a backslash to match it
literally.
(the following are for compatibility with GNU Emacs)
\b \b matches the empty string at the
edge of a word.
\B \B matches the empty string if not at
the edge of a word.
\w \w matches word-constituent characters
(letters & digits).
\W \W matches characters that are not
word-constituent.
Operator precedence is (highest to lowest) ?, *, and +, con-
catenation, and finally |. All other constructs are syntac-
tically identical to normal characters. For the truly
interested, the file dfa.c describes (and implements) the
exact grammar understood by the parser.
OPTIONS
-A _n_u_m
print <num> lines of context after every matching line
-B _n_u_m
print _n_u_m lines of context before every matching line
-C print 2 lines of context on each side of every match
GNU Project Last change: 1988 December 13 2
GREP(1) USER COMMANDS GREP(1)
-_n_u_m print _n_u_m lines of context on each side of every match
-V print the version number on the diagnostic output
-b print every match preceded by its byte offset
-c print a total count of matching lines only
-e _e_x_p_r
search for _e_x_p_r; useful if _e_x_p_r begins with -
-f _f_i_l_e
search for the expression contained in _f_i_l_e
-h don't display filenames on matches
-i ignore case difference when comparing strings
-l list files containing matches only
-n print each match preceded by its line number
-s run silently producing no output except error messages
-v print only lines that contain no matches for the <expr>
-w print only lines where the match is a complete word
-x print only lines where the match is a whole line
SEE ALSO
emacs(1), ed(1), sh(1), _G_N_U _E_m_a_c_s _M_a_n_u_a_l
INCOMPATIBILITIES
The following incompatibilities with UNIX _g_r_e_p exist:
The context-dependent meaning of * is not quite the
same (grep only).
-b prints a byte offset instead of a block offset.
The {_m,_n} construct of System V grep is not imple-
mented.
BUGS
GNU _e?_g_r_e_p has been thoroughly debugged and tested over a
period of several years; we think it's a reliable beast or
we wouldn't distribute it. If by some fluke of the universe
you discover a bug, send a detailed description (including
options, regular expressions, and a copy of an input file
that can reproduce it) to mike@ai.mit.edu.
GNU Project Last change: 1988 December 13 3
GREP(1) USER COMMANDS GREP(1)
AUTHORS
Mike Haertel wrote the deterministic regexp code and the
bulk of the program.
James A. Woods is responsible for the hybridized search
strategy of using Boyer-Moore-Gosper fixed-string search as
a filter before calling the general regexp matcher.
Arthur David Olson contributed code that finds fixed strings
for the aforementioned BMG search for a large class of
regexps.
Richard Stallman wrote the backtracking regexp matcher that
is used for \_d_i_g_i_t backreferences, as well as the GNU
getopt. The backtracking matcher was originally written for
GNU Emacs.
D. A. Gwyn wrote the C alloca emulation that is provided so
System V machines can run this program. (Alloca is used
only by RMS' backtracking matcher, and then only rarely, so
there is no loss if your machine doesn't have a "real"
alloca.)
Scott Anderson and Henry Spencer designed the regression
tests used in the "regress" script.
Paul Placeway wrote the original version of this manual
page.
GNU Project Last change: 1988 December 13 4